Federal Statistical Service estimates the average real wage in Russia every month since January 1993 (source: http://sophist.hse.ru/hse/1/tables/WAG_M.htm). We need to forecast is for 3 years ahead.
Note that for the first 5 years the behaviour of the series is quite
different from what we have later. For the model not to overfit to
irrelevant data, let’s only keep the part starting from January 1999.
Here it is:
STL decomposition:
Box-Cox transformation with optimal \(\lambda\):
Transformation clearly stabilizes the variance, so it makes sense to use it.
Using auto.arima:
## Series: tSeries
## ARIMA(2,1,1)(2,1,1)[12]
## Box Cox transformation: lambda= -0.3308584
##
## Coefficients:
## ar1 ar2 ma1 sar1 sar2 sma1
## -1.2110 -0.2752 0.9543 0.3316 0.1772 -0.8167
## s.e. 0.0749 0.0589 0.0505 0.1540 0.1077 0.1360
##
## sigma^2 = 1.398e-05: log likelihood = 1145.48
## AIC=-2276.96 AICc=-2276.54 BIC=-2251.67
ARIMA(2,1,1)(2,1,1)\(_{12}\) is
selected. Here are the residuals:
At the beginning residuals are not defined properly; let’s cut the
first 12 before proceeding with residual analysis.
| Hypothesis | Test | Result | P-value |
|---|---|---|---|
| Normality | Shapiro-Wilk | rejected | 2.7189747^{-5} |
| Unbiasedness | Wilcoxon | rejected | 0.0025092 |
| Stationarity | KPSS | not rejected | 0.1 |
The series is nonstationary (p<0.01, KPSS test) and clearly
seasonal; let’s do seasonal differencing:
Still not stationary (p<0.01, KPSS test) with visible trend. Let’s do
another, nonseasonal differencing:
The hypothesis of stationarity is now not rejected (p>0.1, KPSS
test).
Look at ACF and PACF of the obtained series:
Autocorrelation is significantly different from 0 for lags 1, 8, 9, 10, 11, 12 and 36. Since 36 is maximal significant seasonal lag, we could use \(Q = 36/12 = 3\) as an initial approximation. Maximal significant lag before 12 is 11, hence the starting value \(q=11\).
Partial autocorrelation is significantly different from 0 for lags 1, 8, 9, 12, 36. Following the same logic as above, we select initial values \(P=3\), \(p=9\).
Next we’ll look for the best models with auto.arima using d=1, D=1, max.p=10, max.q=10, max.P=4, max.Q=4 (where possible, we added 1 to every initial approximation found above just in case), and the parameters of the automatic model as starting points of the search (start.p=2, start.q=1, start.P=2, start.Q=1).
## Series: tSeries
## ARIMA(3,1,0)(3,1,1)[12]
## Box Cox transformation: lambda= -0.3308584
##
## Coefficients:
## ar1 ar2 ar3 sar1 sar2 sar3 sma1
## -0.2504 -0.0321 0.0349 -0.1628 -0.0325 -0.2535 -0.3396
## s.e. 0.0444 0.0113 0.0477 0.0350 0.0133 0.0430 0.0577
##
## sigma^2 = 1.376e-05: log likelihood = 1147.66
## AIC=-2279.33 AICc=-2278.78 BIC=-2250.42
The lowest AICc has ARIMA(3,1,0)(3,1,1)\(_{12}\). Does it have good residuals?
As before, we need to cut the first 12:
Ljung-Box test p-values for the residuals:
Q-Q plot and histogram of the residuals:
| Hypothesis | Test | Result | P-value |
|---|---|---|---|
| Normality | Shapiro-Wilk | rejected | 2.330553^{-5} |
| Unbiasedness | Wilcoxon | rejected | 0.0153604 |
| Stationarity | KPSS | not rejected | 0.0749365 |
Automatically selected model has bigger AICc, and it’s residuals are not better, so we’ll use the manually tuned ARIMA.
The residuals of the model are not normal, so we should use bootstrap for prediction intervals, setting bootstrap=TRUE:
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Dec 2022 367.5217 356.2814 377.9319 347.2863 387.1207
## Jan 2023 263.2104 254.0410 271.7944 248.2938 277.6159
## Feb 2023 266.8793 255.9518 277.7300 248.6943 284.7941
## Mar 2023 286.4371 272.5468 300.4378 264.4844 309.6610
## Apr 2023 281.0016 265.8594 295.9287 257.7270 305.3192
## May 2023 278.8679 263.0077 295.5895 254.3002 305.7629
## Jun 2023 293.6610 275.2559 313.1391 265.6975 325.1659
## Jul 2023 273.6003 255.8282 292.4214 246.9739 303.6566
## Aug 2023 263.4379 245.6046 282.4432 236.0895 294.0319
## Sep 2023 270.7100 251.0911 291.3997 241.1390 304.5871
## Oct 2023 271.7881 251.2385 294.2629 239.9839 307.3497
## Nov 2023 273.1195 251.7230 296.1669 241.2750 309.9999
## Dec 2023 371.3517 334.8091 409.5921 318.7306 433.9667
## Jan 2024 268.0214 243.1783 294.6677 230.3336 311.1267
## Feb 2024 270.8639 243.8214 298.9992 231.4068 315.7954
## Mar 2024 291.2389 259.9644 324.5848 245.8552 345.7250
## Apr 2024 278.7700 247.8208 311.1604 233.5041 332.9761
## May 2024 279.8434 247.1358 314.0642 232.0762 337.1552
## Jun 2024 294.4395 258.2549 332.5381 241.1486 359.4660
## Jul 2024 276.0902 241.2461 312.3339 225.7522 336.9573
## Aug 2024 266.2150 232.6028 302.1181 217.4452 326.9855
## Sep 2024 273.7523 237.7456 313.3769 220.8954 340.1905
## Oct 2024 275.6336 238.4016 316.6442 221.3051 345.4894
## Nov 2024 275.5516 237.4651 318.1260 220.4797 345.7582
## Dec 2024 376.9150 315.4380 445.2206 290.6687 492.1580
## Jan 2025 271.4612 230.0803 317.6637 211.9116 350.6612
## Feb 2025 275.2167 230.8448 322.8532 213.1869 359.7825
## Mar 2025 295.4952 245.0709 351.0332 225.0845 392.4092
## Apr 2025 291.5972 239.8702 348.3144 220.2826 390.3215
## May 2025 291.0907 238.1475 349.0581 217.7721 392.2788
## Jun 2025 304.3050 247.0638 368.1083 225.6596 418.0179
## Jul 2025 285.0286 230.8606 345.3666 210.6944 389.5188
## Aug 2025 273.2893 221.5996 331.5230 200.7649 374.2687
## Sep 2025 281.6016 226.2228 345.3842 203.2463 391.6750
## Oct 2025 282.2073 225.5679 347.0325 202.5591 396.6931
## Nov 2025 282.6631 225.3191 349.4781 202.0952 398.9564